ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:190.05KB ,
资源ID:4459059      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4459059.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB结合窗函数法数字带通FIR滤波器的设计解析.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB结合窗函数法数字带通FIR滤波器的设计解析.docx

1、MATLAB结合窗函数法数字带通FIR滤波器的设计解析课程设计任务书学生姓名: 专业班级: 通信zy1101班 指导教师: 工作单位: 信息工程学院 题 目: MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器初始条件:1 MATLAB编程的基础知识2信号与系统滤波器的相关知识3数字信号处理的相关知识要求完成的主要任务:利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器。分别使用矩形窗、三角形窗、汉明窗、布莱克曼窗、凯泽窗进行设计,并输出滤波器的频率特性参考书目:Vinay K.Ingle 数字信号处理及其MATLAB实现Sanjit K. Miltra Dig

2、ital Signal Processing Laboratory Using MATLAB刘泉 阙大顺 郭志强 数字信号处理时间安排: (1)第1-3周:选题及任务安排 (2)第4-10周:方案选择及设计 (3)第11-16周:设计及MATLAB仿真 (4)第17-18周:撰写报告及答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 目 录课程设计任务书 I目 录 II摘要 1Abstract 21原理说明 31.1 数字滤波技术 31.2 FIR滤波器 41.3 窗函数 41.4 MATLAB结合窗函数设计法原理 52 各类窗函数简介 82.1 基本窗函数 82.1.1

3、矩形窗函数 82.1.2三角窗 82.2 广义余弦窗 92.2.1 汉宁窗 102.2.2布莱克曼窗 102.3凯泽窗 112.4窗函数性能比较 122.5设计步骤 133设计题目及程序的代码 143.1 设计题目 143.2设计题目的程序及结果 144总结与体会 185参考文献 19摘要数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以

4、获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。滤波器的设计是信号处理的核心问题之一。根据FIR滤波器的原理,提出了FIR滤波器的窗函数设计法,给出了在MATLAB环境下,用窗函数法设计FIR滤波器的过程和设计实例。通过利用不同的窗函数方法设计FIR滤波器,对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点及其不同的使用场合,从而可以在设计滤波器时能够正确的选择FIR数字滤波器的窗函数的选取及设计方法。【关键字】: MATLAB ; 窗函数; FIR滤波器AbstractDigital filter is a time

5、 discrete signal which is used to filter digital system, through the mathematical treatment of the sample data to achieve the frequency-domain filtering purposes.In accordance with its unit impulse response function of the time-domain characteristics can be divided into two categories: Infinite Impu

6、lse Response (IIR) filter and finite impulse response (FIR) filters. Compared with the IIR filters, FIR realization of a non-recursive, is always stable; more importantly, FIR filters to meet the requirements of the amplitude-frequency response at the same time, get a strictly linear phase character

7、istics.Therefore, it is high-fidelity signal processing, such as digital audio, image processing, data transmission, biomedical areas such as widely used.Signal processing filter design is one of the core issues.According to the principle of FIR filters is proposed FIR filter window function design

8、method is given in the MATLAB environment, with the window function method for FIR filter design process and design examples.Through the use of different window functions designed FIR filter, the filter designed to analyze and compare a variety of methods designed to filter obtained the advantages a

9、nd disadvantages of the use of their different occasions, so you can design a filter to correctthe choice of FIR digital filter function selection window and the design method。【 key words 】 : MATLAB; Window function; FIR filter1原理说明随着信息时代的到来,数字信号处理已经成为一门极其重要的学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用。在数字信号

10、处理中,数字滤波器占有极其重要的地位,它具有精度高、可靠性好、灵活性大等特点。现代数字滤波器可以用软件或硬件两种方式来实现。软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。1.1 数字滤波技术数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重,故实质上是一种程序滤波。与此对应的就是模拟滤波,由于

11、模拟滤波牵扯到的其他知识太多在此不详细介绍了,模拟滤波主要无源滤波(直接用电阻、电容、电感等不外接电源的元件组成的)与有源滤波(如运算放大器等需要外接电源组成的),其目的是将信号中的噪音和干扰滤去或者将希望得到的频率信号滤出为我所用。数字滤波的出现克服了模拟滤波的很多不足,具有以下优点:A是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。B可以对频率很低的信号实现滤波,克服了模拟滤波的缺陷。C可以根据信号的不同,采用不同的滤波方法或参数,具有灵活、方便、功能强的特点。几种常用的滤波方法:1 算术平均值法2 中值滤波法3 滑动平均值法4 限幅滤波法5 惯性滤波法数字滤波技术通过数字滤波器

12、实现,从实现方法上可以分为FIR数字滤波器和IIR数字滤波器,按功能可分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)和带阻滤波器(BSF)。本文主要对FIR滤波器加以介绍。1.2 FIR滤波器FIR(Finite Impulse Response)滤波器,即有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用,FIR滤波器具有以下主要优点:1.FIR滤波器具有准确的线性相位;2.FI

13、R滤波器永远稳定;3.FIR滤波器设计方法一般是线性的;4.FIR滤波器在硬件上具有更高的运行效率;5.FIR滤波器启动传输时间只需要有限时间。FIR滤波器的主要缺点有:1.FIR滤波器为达到同样的性能要求需要比IIR滤波器高得多的阶数;2.相应的FIR滤波器的时延比同等性能的IIR滤波器高很多。FIR滤波器的硬件实现主要有数字集成芯片,DSP芯片FIR滤波器,可编程FIR滤波器,后两者的实际方法主要通过MATLAB软件进行设计,其设计方法多样,形式灵活,能够满足各种要求,并且不受数字集成芯片规格的限制。FIR滤波器的设计方法主要有窗函数法、多带和过渡带、约束最小二乘法、任意相应法、升余弦法,

14、其中最常用的是窗函数法。1.3 窗函数窗函数法是设计FIR滤波器的最主要方法之一,实际中遇到的离散时间信号总是有限长的,因此不可避免的要遇到数据截短的问题,在信号处理中,对离散序列的截短是通过序列与窗函数相乘来实现的。在信号处理中,窗函数是一种除在给定区间之外取值均为0的实函数。譬如:在给定区间内为常数而在区间外为0的窗函数被形象地称为矩形窗。任何函数与窗函数之积仍为窗函数,所以相乘的结果就像透过窗口“看”其他函数一样。窗函数在光谱分析、滤波器设计以及音频数据压缩等方面有广泛的应用。常用的窗函数有矩形窗、巴特利特(Bartlett)窗、三角窗、海明(Hamming)窗、汉宁(Hanning)窗

15、、布莱克曼(Blackman)窗、切比雪夫(Chebyshev)窗、凯泽(Kaiser)窗。1.4 MATLAB结合窗函数设计法原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的

16、设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是和重要的。目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。因此设计FIR滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N就是系统函数H(z)的阶数。只要N足够长,截取的方法合理,总能满足频域的要求。一般这种时域设计、频域检验的方法要反复几个回合才能成功。要设计一个线性相位的

17、FIR数字滤波器,首先要求理想频率响应。是w的周期函数,周期为,可以展开成傅氏级数: (公式1-1)使用上述的传递函数去逼近,一个理想的频率响应的傅立叶反变换: (公式1-2)其中是与理想频响对应的理想单位抽样响应序列。但不能用来作为设计FIR DF用的h(n),因为一般都是无限长、非因果的,物理上无法实现。为了设计出频响类似于理想频响的滤波器,可以考虑用来近似。窗函数的基本思想:先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。这种方法的重点是选择一个合适的窗函数和理想滤波器。设是一个长序列,是长度为N的窗函数,用截断,

18、得到N点序列,即 (公式1-3)在频域上则有 (公式1-4)由此可见,窗函数不仅仅会影响原信号在时域上的波形,而且也会影响到频域内的形状。 MATLAB信号工具箱主要提供了以下几种窗函数,如表1所示:表(1) MATLAB窗函数窗窗 函 数矩形窗Boxcar三角窗Triang 海明窗Hamming汉宁窗Hanning布莱克曼Blackman切比雪夫窗Chebyshev凯塞窗Kaiser加矩形窗后的频谱和理想频谱可得到以下结论:加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。矩形窗情况下的过渡带宽是。N越大,过渡带越窄、越陡;过渡带两旁产生肩峰,肩峰的两侧形成起伏振荡。肩峰幅度取决于窗谱主瓣

19、和旁瓣面积之比。矩形窗情况下是8.95,与N无关。工程上习惯用相对衰耗来描述滤波器,相对衰耗定义为: (公式1-5)这样两个肩峰点的相对衰耗分别是0.74dB和-21dB。其中(-0.0895)对应的点的值定义为阻带最小衰耗。以上的分析可见,滤波器的各种重要指标都是由窗函数决定,因此改进滤波器的关键在于改进窗函数。窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。旁瓣峰值衰耗定义为: 旁瓣峰值衰耗20lg(第一旁瓣峰值主瓣峰值) (公式1-6)为了改善滤波器的性能,需使窗函数谱满足:(1)主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带。(2)尽量减少最大旁瓣的相对幅度,也就是能量集中于主

20、瓣,以减小带内、带外波动的最大幅度,增大阻带衰减。一般来说,以上两点很难同时满足。当选取主瓣宽度很窄时,旁瓣的分量势必增加,从而带内、带外的波动也增加了;当选取最小的旁瓣幅度时,降低了带内、带外的波动,但是过渡带的陡度减小了。所以实际采用的窗函数其特性往往是它们的折中,在保证主瓣宽度达到一定要求的前提下,适当牺牲主瓣宽度来换取旁瓣波动的减小。2 各类窗函数简介数字信号处理领域中所用到的窗函数主要分为两大类,分别是:基本窗函数与广义窗函数。2.1 基本窗函数基本窗函数包括以下三类,主要有:矩形窗函数、三角窗函数窗函数。下面就对这些窗函数展开介绍。2.1.1 矩形窗函数矩形窗(Rectangula

21、r Window)函数的时域形式可以表示为: (公式2-1)它的频域特性为 (公式2-2)利用w=boxcar(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=boxcar(n)等价于w=ones(1,n).2.1.2三角窗三角窗(Bartlett Window)函数时域形式可表示为: (公式2-3)窗谱为: (公式2-4) 式中,当N远大于1时,此时,窗谱主瓣宽度为8/N。利用w=triang(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。w=triang(N-2)等价于bartlett

22、(N)。2.2 广义余弦窗汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。这些窗都是广义余弦窗的特例,汉宁窗又被称为余弦平方窗或升余弦窗,海明窗又被称为改进的升余弦窗,而布莱克曼窗又被称为二阶升余弦窗。采用这些窗可以有效地降低旁瓣的高度,但是同时会增加主瓣的宽度。这些窗都是频率为0、2/(N1)和4/(N1)的余弦曲线的合成,其中N为窗的长度。通常采用下面的命令来生成这些窗: (公式2-5) (公式2-6)其中,A、B、C适用于自己定义的常数。根据它们取值的不同,可以形成不同的窗函数,分别是:汉宁窗 A=0.5,B=0.5,C=0;海明窗 A=0.54,B=0.54,

23、C=0;布莱克曼窗 A=0.5,B=0.5,C=0.08;2.2.1 汉宁窗汉宁窗(Hanning)函数时域形式可表示为: (公式2-7)利用傅利叶变换的调制特性,由上式可得汉宁窗的频谱函数为: (公式2-8)式中, (公式2-9)当N远大于1时,上式可近似表示为: (公式2-10)这三部分之和使旁瓣互相抵消,能量更集中在主瓣,汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8/N。hanning函数:生成汉宁窗调用方式:(1) w = hanning(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。注意:此函数不返回是零点的窗

24、函数的首尾两个元素。 (2) w = hanning(n,symmetric):与上面相类似。(3) w = hanning(n,periodic):此函数返回包括为零点的窗函数的首尾两个元素。2.2.2布莱克曼窗布莱克曼窗(Hanning)函数时域形式可表示为: (公式2-11) 其频谱函数为: (公式2-12)它的主瓣宽度是矩形窗主瓣宽度的3倍,为12*pi/N,但是它的最大旁瓣值比主瓣值低57dB。利用w=blackman(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。2.3凯泽窗凯泽窗是一种适应性较强的窗,其函数表达式为 (公式2-13)其中

25、是第一类变形修正零阶贝塞尔函数,它可以用以下的级数来计算 (公式2-14)在实际使用中,级数取1525项就可达到足够的精度。是一个可调参数,它可以同时调整主瓣宽度和旁瓣电平,越大,则窗越窄,而频谱的旁瓣越小,但主瓣宽度也相应增加。因而改变值就可对主瓣宽度与旁瓣衰减进行选择。一般选择,这相当于旁瓣幅度与主瓣幅度的比值由3.1%变到0.047%(-30-67dB)。 利用w=kaiser(n,beta)的形式得到窗函数。2.4窗函数性能比较实际工程常用的窗函数有五种,即矩形窗、三角窗、汉宁窗、海明窗和凯塞窗。这些窗函数之间的性能比较如下表所示。表(2) 5种窗函数性能比较窗类型旁瓣峰值主瓣峰值最小

26、阻带衰减矩形窗13dB4/M21dB三角窗25dB8/M25dB汉宁窗31dB8/M44dB海明窗41dB8/M53dB凯塞窗57dB12/M74dB常用窗函数绘图比较:在MATLAB中运行以下代码:代码2-1:n=50;x=1:50;juxing=boxcar(n); %构造矩形窗sanjiao=triang(n); %构造三角窗hanming=hamming(n); %构造汉宁窗bulaikeman=blackman(n); %构造布莱克曼窗kaize=kaiser(n); %构造凯塞窗plot(x,juxing,b.,x,sanjiao,gx,x,hanming,r+,x,bulaike

27、man,cd,x,kaize,k*);legend(矩形窗,三角窗,汉明窗,布莱克曼窗,凯塞窗); 运行结果如图2-1所示:图1 5种窗函数绘图比较2.5设计步骤实际利用窗函数法进行FIR滤波器设计时,依据所给的技术指标一般需要经过以下几个步骤进行设计:1 给定理想的频率响应函数Hd(ejw)及技术指标;2 根据阻带衰减选择窗函数w(n),根据过渡带宽度确定N值;3 求出理想的单位抽样响应hd(n); (公式2-12)4 求出所设计的FIR滤波器的单位抽样响应; (公式2-13)5 计算频率响应,验算指标是否满足要求。 3设计题目及程序的代码3.1 设计题目用窗函数法设计一个FIR带通滤波器。

28、指示如下:采样频率为20kHz;通带边缘频率:fp1=4.5kHz,fp2=6.5kHz;通带峰值起伏:p40dB3.2设计题目的程序及结果利用原理说明介绍的fir1函数进行设计,这种设计方法只需要给出滤波器的阶数,截止频率,窗函数等参数,MATLAB即可自行完成设计,并可通过freqz函数查看滤波器的幅频响应和相频响应,已验证滤波器是否满足设计要求,下面给出利用fir1函数设计的不同窗函数的数字带通滤波器。1. 利用矩形窗进行设计代码2-2:fs=20000; %设定采样频率fp1=4500;fp2=6500; %第一截止频率fs1=3000;fs2=7500; %第二截止频率As=40;

29、%最小阻带衰减Ws1=(fp1+fs1)/fs;Ws2=(fp2+fs2)/fs; %截止频率归一化处理w=(fp1-fs1)/fs; %求归一化过渡带M=ceil(As-7.95)/(14.36*w) %计算所需滤波器的阶数juxing=boxcar(M+1); %生成长度为M+1的矩形窗boxb=fir1(M,Ws1,Ws2,juxing); %生成矩形窗设计的fir滤波器freqz(boxb,1,fs,fs); %绘制幅频和相频响应曲线运行结果:图2矩形窗fir滤波器幅频和相频响应曲线从幅频响应上看,通带基本无波纹,阻带中波纹较大,因而阻带较不理想,相频响应曲线在通带内为直线,效果较好,

30、信号失真小。 2. 利用三角窗进行设计利用三角窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用triang()函数生成三角窗,程序运行结果如下:图3三角窗设计的fir滤波器幅频和相频响应曲线3. 利用汉宁窗进行设计利用汉宁窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用hamming()函数生成汉宁窗,程序运行结果如下:图4 汉宁窗设计的fir滤波器幅频和相频响应曲线4. 利用布莱克曼窗进行设计利用布莱克曼窗进行设计时,原理与矩形窗基本相同,只不过生成窗函数时采用blackman()函数生成布莱克曼窗,程序运行结果如下: 图5 布莱克曼窗设计的fir滤波器幅频和相频响应曲线5. 利用凯塞窗进行设计利用凯塞窗进行设计时,滤波器的参数可以用以下函数求得:调用函数n,wn,bta,ftype=kaiserord(f,a,dev,fs)参数: 1)f为对应的归一化频率

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1